# -*- codeing = utf-8 -*-
#安居客爬取内容
import requests
from bs4 import BeautifulSoup
import json
import csv
#创建一个请求网址函数
def get_url(url):
    try:
        headers = {
            'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3877.400 QQBrowser/10.8.4506.400'
        }
        resp = requests.get(url=url,headers=headers)
        soup = BeautifulSoup(resp.text,'lxml')
        return soup
    except Exception as err:
        print("程序请求失败")

#创建获取所有行政区名字和链接的函数
def get_name_href(html_code):
    name_list = html_code.select('#__layout > div > section > section.filter-wrap > section > div.filter-wrap.filter-region > section > ul.region.region-line2 > li'
    )
    #print(name_list)
    name_dict = {}
    #删除链接？后面的东西
    list_del = []
    #遍历获得的列表
    for i in name_list:
        if i.text != None:
            #print(i)
            name = i.select_one('li > a').text
            #print(name)
            href = i.select_one('a').attrs['href']
            name_dict[name] = href
    #删除字典的第一个元素，因为第一个是不限。
    print(name_dict)
    #del name_dict["不限"]

    return name_dict

#创建一个获取整个地区有多少页的函数
def region_page(html_code):
    pages = html_code.select_one('#__layout > div > section > section.list-main > section.list-left > section.pagination-wrap > div > ul > li.page-item.last > a').text
    print(pages)
    return int(pages)

#创建一个主函数，让整个程序执行
def main(url):
    #获取的网页转码
    re_code = get_url(URL)
    #调用获取地区和链接函数
    region_dict = get_name_href(re_code)
    #因为地名和链接用字典保存，所以遍历
    for reg,href in region_dict.items():
        #print(reg,href)
        #请求地区的链接
        resp_code = get_url(href)
        #调用取页数的函数，看看每个行政区有多少那啥页数
        region_page_mach = region_page(resp_code)
        #遍历所有页数
        for i in range(1,region_page_mach+1):
            #因为链接不完整，拼接链接
            new_href = href + f'/p{i}'



URL = 'https://chengdu.anjuke.com/sale/'
main(URL)


